Syllabus- Important Facts On Core Java

Java is a widely used object-oriented programming language and software platform that runs on billions of devices, including notebook computers, mobile devices, gaming consoles, medical devices and many others. The rules and syntax of Java are based on the C and C++ languages.

Session 1 – Introduction to Java

  • History of Programming Language
  • History Of Java
  • Why Java is so Popular
  • Features of Java
  • JVM, Components In JVM
  • Internal Architecture Of JVM
  • JDK and Its Directory Structure
  • What is Java

Session 2 – Java Programming Environment

  • Parts Of Java (J2SE, J2EE, J2ME)
  • Difference between C++ and Java
  • Java Virtual Machine (JVM)
  • (JDK) vs (JRE)
  • Java Basic Syntax
  • Java Data Types
  • Java Control Statements

Session 3 – Introduction to OOPs

  • Demerits of POP
  • Advantages Of OOPS
  • Class/Object
  • Encapsulation
  • Abstraction
  • Inheritance
  • Polymorphism
  • Object-Oriented Design Principles

Session 4 – Fundamental Programming Style in Java

  • Writing First Java Program
  • Compiling and Interpreting Java Applications
  • Installation of the JDK (on Windows and Linux)
  • Java Comment Lines
  • Naming Convention
  • Data Types & Operators
  • Iteration Statements
  • Jump Statements

Session 5 – Classes, Objects & Methods

  • Classes
  • Object Creation
  • Access Specifiers
  • Constructors
  • Methods in Java
  • Instance Methods
  • Static Methods
  • Recursions
  • Factory Methods

Session 6 – Closer Look on Classes

  • Inner Classes
  • Local Inner Classes
  • Anonymous Inner Classes
  • Wrapper Classes
  • Abstract Classes
  • Inheritance and its Types
  • Interfaces and Implementation
  • Method Overloading and Overriding
  • Static Members and Methods
  • Object Lifecycle and Garbage Collection

Session 7 – Inheritance

  • Inheritance
  • Keyword “Super”
  • Protected Specifier
  • Types of Inheritance
  • Method Overriding
  • Constructor Inheritance
  • Single vs Multiple Inheritance

Session 8 – Type Casting

  • Types of Data Types
  • Casting Primitive Data Types
  • Casting Referenced Data Types
  • The Object Class
  • Implicit Type Casting (Widening)
  • Explicit Type Casting (Narrowing)
  • Type Casting and Performance

Session 9 – Packages

  • Package
  • Built-In Packages
  • User-Defined Packages
  • Jar Files
  • Interfaces In a Package
  • Creating Subpackages in A Package
  • Access Specifiers in Java

Session 10 – Interfaces

  • Interfaces
  • Multiple Inheritance using Interfaces
  • Abstract Classes Vs Interfaces
  • Default Methods in Interfaces
  • Static Methods in Interfaces
  • Functional Interfaces
  • Using Interfaces for Dependency Injection

Session 11 – Strings

  • String Operators
  • String Comparisons
  • Searching Strings
  • Data Conversion Using valueOf()
  • String Buffer
  • StringBuilder
  • Regular Expressions with Strings

Session 12 – Exception Handling

  • Errors in Java Programs
  • Exceptions
  • Throws Clause
  • Throw Clause
  • Types of Exceptions
  • Re-throwing an Exception
  • User Defined Exceptions

Session 13 – Threads & Multithreading

  • Java Thread Model
  • Creating and Running Threads
  • Manipulating Thread State
  • Thread Synchronization
  • Volatile Fields and Synchronized Methods
  • Wait and Notify
  • Join and Sleep
  • Multi-Threaded Applications
  • The New Concurrency API
  • ThreadGroups
  • Thread Pools
  • Executor Framework
  • Future and Callable
  • Handling Deadlocks and Starvation

Session 14 – Garbage Collection

  • Introduction to Garbage Collection
  • Garbage Collection in Java
  • Concept of Garbage Collection
  • Java Memory Management
  • Garbage Collector Types (Serial, Parallel, CMS, G1)
  • Generational Garbage Collection
  • Heap and Non-Heap Memory
  • Young Generation vs Old Generation
  • Minor vs Major Garbage Collection
  • How Garbage Collection Works
  • Common Garbage Collection Algorithms
  • Tuning Garbage Collection
  • Monitoring and Analyzing Garbage Collection
  • Impact of Garbage Collection on Performance

Session 15 – Streams & File Handling

  • Overview of Streams
  • Bytes Streams vs. Characters Streams
  • Converting Byte Streams to Character Streams
  • About File I/O
  • Random Access Files and Handling Non-Sequential File Access
  • Binary Input and Output
  • PrintWriter Class
  • Basic and Filtered Streams
  • Reading and Writing Objects
  • Introduction to Encoding
  • Making Tokens of a Java Source Code
  • Serializing and Deserializing an Object
  • Introduction to Encoding through InputStreamReader and OutputStreamWriter